# coding:utf-8
import os

"""创建项目相关的本地文件夹


1. setting_path ==> 用于存放配置文件 setting.cfg
2. cache_path ==> 用于存放临时文件
3. log_path ==> 用于存放储存的log
4. download_path ==> 下载的数据/财务文件
5. strategy_path ==> 存放策略模板
6. bin_path ==> 存放一些交易的sdk/bin文件等
"""


path = os.path.expanduser('~')
wqr_path = '{}{}{}'.format(path, os.sep, '.quant_researcher')
# 下面的配置和项目没关系，只和程序本身有关系，且不会随着项目改变，
BASE_DIR = os.path.join(os.path.expanduser("~"), 'Desktop')  # 当写文件的时候，如果传入的相对根目录没有的话，使用这个
TEST_DIR = f'E:\\链上指标测试-第四版'  # 用于存放测试数据
TA_TEST_DIR = f'E:\\技术指标测试-第二版'  # 用于存放测试数据
DATA_DIR = f'E:\\指标数据'  # 用于存放测试数据


def generate_path(name):
    return '{}{}{}'.format(wqr_path, os.sep, name)


def make_dir(path, exist_ok=True):
    os.makedirs(path, exist_ok=exist_ok)


setting_path = generate_path('setting')
cache_path = generate_path('cache')
log_path = generate_path('log')
download_path = generate_path('downloads')
strategy_path = generate_path('strategy')
bin_path = generate_path('bin')  #给一些dll文件存储用


make_dir(wqr_path, exist_ok=True)
make_dir(setting_path, exist_ok=True)
make_dir(cache_path, exist_ok=True)
make_dir(download_path, exist_ok=True)
make_dir(log_path, exist_ok=True)
make_dir(strategy_path, exist_ok=True)
make_dir(bin_path, exist_ok=True)
